//package com.yxq.mdt.app.base;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.parser.DefaultJSONParser;
//import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer;
//
//import java.lang.reflect.ParameterizedType;
//import java.lang.reflect.Type;
//import java.util.Map;
//
///**
// * HttpResultFJsonDeserializer.java
// */
//public class HttpResultFJsonDeserializer implements ObjectDeserializer {
//
//    @Override
//    public <T> T deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
//
//        Map map = parser.parseObject(Map.class);
//
//        HttpResult httpResult = new HttpResult();
//        httpResult.setReturnCode(map.containsKey("code") ? (int)map.get("code") : 0);
//        httpResult.setReturnMessage(map.containsKey("msg") ? String.valueOf(map.get("msg")) : "");
//
//        //处理Data空串情况
//        if(map.containsKey("Data") && !(map.get("Data") instanceof String)) {
//            //指定泛型具体类型
//            if (type instanceof ParameterizedType) {
//                Type itemType = ((ParameterizedType) type).getActualTypeArguments()[0];
//                Object item = JSON.parseObject(String.valueOf(map.get("Data")), itemType);
//                httpResult.setData(item);
//            }else{
//                //未指定泛型具体类型
//                httpResult.setData(map.get("Data"));
//            }
//        }else {
//            httpResult.setData(null);
//        }
//
//        return (T) httpResult;
//    }
//
//    @Override
//    public int getFastMatchToken() {
//        return 0;
//    }
//
//}